home *** CD-ROM | disk | FTP | other *** search
MacBinary | 1988-02-09 | 11.4 KB | [ TEXT/EDIT]
open in: MacOS 8.1
extracted
|
Win98
extracted
|
DOS
extracted
browse contents |
view JSON data
|
view as text
This file was processed as: MacBinary
(archive/macBinary ).
id metadata key value macFileType [ TEXT] macFileCreator [ EDIT]
hex view +--------+-------------------------+-------------------------+--------+--------+ |00000000| 00 05 50 61 69 6e 74 00 | 00 00 00 00 00 00 00 00 |..Paint.|........| |00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000040| 00 54 45 58 54 45 44 49 | 54 01 00 00 00 00 00 00 |.TEXTEDI|T.......| |00000050| 00 00 00 00 00 2b 66 00 | 00 01 5c 9e 34 e4 44 9e |.....+f.|..\.4.D.| |00000060| 34 e4 44 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |4.D.....|........| |00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 15 cf 00 00 |........|........| |00000080| 28 20 50 61 69 6e 74 20 | 64 65 6d 6f 20 29 20 20 |( Paint |demo ) | |00000090| 66 6f 72 67 65 74 20 74 | 61 73 6b 20 20 3a 20 74 |forget t|ask : t| |000000a0| 61 73 6b 20 3b 20 20 64 | 65 63 69 6d 61 6c 0d 0d |ask ; d|ecimal..| |000000b0| 28 20 72 65 63 74 20 77 | 6f 72 64 73 20 29 0d 3a |( rect w|ords ).:| |000000c0| 20 52 45 43 54 20 63 72 | 65 61 74 65 20 38 20 61 | RECT cr|eate 8 a| |000000d0| 6c 6c 6f 74 20 3b 20 20 | 28 20 63 72 65 61 74 65 |llot ; |( create| |000000e0| 20 61 20 72 65 63 74 20 | 64 61 74 61 20 73 74 72 | a rect |data str| |000000f0| 75 63 74 74 75 72 65 20 | 29 0d 3a 20 21 52 45 43 |uctture |).: !REC| |00000100| 54 20 28 20 74 20 6c 20 | 62 20 72 20 61 64 64 72 |T ( t l |b r addr| |00000110| 20 2d 2d 20 29 20 3e 72 | 20 20 73 77 61 70 20 72 | -- ) >r| swap r| |00000120| 20 34 20 2b 20 32 21 20 | 20 73 77 61 70 20 72 3e | 4 + 2! | swap r>| |00000130| 20 32 21 20 3b 0d 3a 20 | 40 52 45 43 54 20 28 20 | 2! ;.: |@RECT ( | |00000140| 61 64 64 72 20 2d 2d 20 | 74 20 6c 20 62 20 72 20 |addr -- |t l b r | |00000150| 29 20 64 75 70 20 32 40 | 20 73 77 61 70 20 20 72 |) dup 2@| swap r| |00000160| 6f 74 20 34 20 2b 20 32 | 40 20 73 77 61 70 20 3b |ot 4 + 2|@ swap ;| |00000170| 0d 3a 20 52 46 52 41 4d | 45 20 28 20 61 64 64 72 |.: RFRAM|E ( addr| |00000180| 2e 6f 66 2e 72 65 63 74 | 20 2d 2d 20 29 20 61 3e |.of.rect| -- ) a>| |00000190| 72 20 2c 24 20 41 38 41 | 31 20 3b 20 20 28 20 5f |r ,$ A8A|1 ; ( _| |000001a0| 46 72 61 6d 65 52 65 63 | 74 20 29 0d 3a 20 52 45 |FrameRec|t ).: RE| |000001b0| 52 41 53 45 20 28 20 61 | 64 64 72 2e 6f 66 2e 72 |RASE ( a|ddr.of.r| |000001c0| 65 63 74 20 2d 2d 20 29 | 20 61 3e 72 20 2c 24 20 |ect -- )| a>r ,$ | |000001d0| 41 38 41 33 20 3b 20 20 | 28 20 5f 45 72 61 73 65 |A8A3 ; |( _Erase| |000001e0| 52 65 63 74 20 29 0d 3a | 20 52 49 4e 56 45 52 54 |Rect ).:| RINVERT| |000001f0| 20 28 20 61 64 64 72 20 | 2d 2d 20 29 20 61 3e 72 | ( addr |-- ) a>r| |00000200| 20 2c 24 20 41 38 41 34 | 20 3b 20 20 28 20 5f 49 | ,$ A8A4| ; ( _I| |00000210| 6e 76 65 72 74 52 65 63 | 74 20 29 0d 3a 20 52 43 |nvertRec|t ).: RC| |00000220| 4c 49 50 20 28 20 61 64 | 64 72 20 2d 2d 20 29 20 |LIP ( ad|dr -- ) | |00000230| 61 3e 72 20 2c 24 20 41 | 38 37 42 20 3b 20 28 20 |a>r ,$ A|87B ; ( | |00000240| 5f 43 6c 69 70 52 65 63 | 74 20 29 0d 3a 20 49 4e |_ClipRec|t ).: IN| |00000250| 56 41 4c 49 44 20 28 20 | 61 64 64 72 20 2d 2d 20 |VALID ( |addr -- | |00000260| 29 20 61 3e 72 20 2c 24 | 20 41 39 32 38 20 3b 20 |) a>r ,$| A928 ; | |00000270| 20 28 20 5f 49 6e 76 61 | 6c 52 65 63 74 20 29 0d | ( _Inva|lRect ).| |00000280| 3a 20 3f 49 4e 20 28 20 | 68 20 76 20 61 64 64 72 |: ?IN ( |h v addr| |00000290| 20 2d 2d 20 66 6c 61 67 | 20 29 20 28 20 74 72 75 | -- flag| ) ( tru| |000002a0| 65 20 69 66 20 68 2c 76 | 20 69 73 20 69 6e 20 72 |e if h,v| is in r| |000002b0| 65 63 74 20 61 74 20 61 | 64 64 72 20 29 0d 20 20 |ect at a|ddr ). | |000002c0| 20 20 30 20 3e 72 20 20 | 72 6f 74 20 72 6f 74 20 | 0 >r |rot rot | |000002d0| 32 3e 72 20 20 61 3e 72 | 20 20 2c 24 20 41 38 41 |2>r a>r| ,$ A8A| |000002e0| 44 20 72 3e 20 3b 20 20 | 28 20 5f 50 74 49 6e 52 |D r> ; |( _PtInR| |000002f0| 65 63 74 20 29 0d 0d 28 | 20 66 6f 6e 74 20 77 6f |ect )..(| font wo| |00000300| 72 64 73 20 29 0d 3a 20 | 21 46 4f 4e 54 20 28 20 |rds ).: |!FONT ( | |00000310| 6e 20 2d 2d 20 29 20 3e | 72 20 2c 24 20 41 38 38 |n -- ) >|r ,$ A88| |00000320| 37 20 3b 20 20 28 20 5f | 54 65 78 74 46 6f 6e 74 |7 ; ( _|TextFont| |00000330| 20 29 0d 3a 20 21 46 53 | 49 5a 45 20 28 20 6e 20 | ).: !FS|IZE ( n | |00000340| 2d 2d 20 29 20 3e 72 20 | 2c 24 20 41 38 38 41 20 |-- ) >r |,$ A88A | |00000350| 3b 20 20 28 20 5f 54 65 | 78 74 53 69 7a 65 20 29 |; ( _Te|xtSize )| |00000360| 0d 3a 20 53 46 4f 4e 54 | 20 28 20 2d 2d 20 29 20 |.: SFONT| ( -- ) | |00000370| 30 20 21 66 6f 6e 74 20 | 20 31 32 20 21 66 73 69 |0 !font | 12 !fsi| |00000380| 7a 65 20 3b 20 20 28 20 | 73 65 74 20 31 32 20 70 |ze ; ( |set 12 p| |00000390| 6f 69 6e 74 20 43 68 69 | 63 61 67 6f 20 29 0d 3a |oint Chi|cago ).:| |000003a0| 20 4e 46 4f 4e 54 20 28 | 20 2d 2d 20 29 20 34 20 | NFONT (| -- ) 4 | |000003b0| 21 66 6f 6e 74 20 20 30 | 39 20 21 66 73 69 7a 65 |!font 0|9 !fsize| |000003c0| 20 3b 20 20 28 20 73 65 | 74 20 39 20 70 6f 69 6e | ; ( se|t 9 poin| |000003d0| 74 20 4d 6f 6e 61 63 6f | 20 29 0d 0d 28 20 63 6f |t Monaco| )..( co| |000003e0| 6d 70 69 6c 65 64 20 73 | 74 72 69 6e 67 20 61 72 |mpiled s|tring ar| |000003f0| 72 61 79 20 29 0d 3a 20 | 45 56 45 4e 20 28 20 6e |ray ).: |EVEN ( n| |00000400| 20 2d 2d 20 6e 27 20 29 | 20 64 75 70 20 32 20 6d | -- n' )| dup 2 m| |00000410| 6f 64 20 2b 20 3b 20 20 | 28 20 72 6f 75 6e 64 20 |od + ; |( round | |00000420| 75 70 20 74 6f 20 65 76 | 65 6e 20 6e 75 6d 62 65 |up to ev|en numbe| |00000430| 72 20 29 0d 3a 20 2c 22 | 20 28 20 2d 2d 20 29 20 |r ).: ,"| ( -- ) | |00000440| 20 28 20 63 6f 6d 70 69 | 6c 65 20 61 20 73 74 72 | ( compi|le a str| |00000450| 69 6e 67 20 66 72 6f 6d | 20 69 6e 70 75 74 20 73 |ing from| input s| |00000460| 74 72 65 61 6d 20 29 0d | 20 20 20 20 33 34 20 77 |tream ).| 34 w| |00000470| 6f 72 64 20 68 65 72 65 | 20 63 40 20 31 2b 20 65 |ord here| c@ 1+ e| |00000480| 76 65 6e 20 61 6c 6c 6f | 74 20 3b 20 49 4d 4d 45 |ven allo|t ; IMME| |00000490| 44 49 41 54 45 0d 3a 20 | 23 24 20 28 20 61 64 64 |DIATE.: |#$ ( add| |000004a0| 72 20 6e 20 2d 2d 20 65 | 76 65 6e 2e 61 64 64 72 |r n -- e|ven.addr| |000004b0| 65 73 73 2e 6f 66 2e 6e | 74 68 2e 73 74 72 69 6e |ess.of.n|th.strin| |000004c0| 67 20 29 0d 20 20 20 20 | 3f 44 55 50 20 49 46 20 |g ). |?DUP IF | |000004d0| 20 30 20 44 4f 20 20 63 | 6f 75 6e 74 20 2b 20 20 | 0 DO c|ount + | |000004e0| 65 76 65 6e 20 20 4c 4f | 4f 50 20 20 54 48 45 4e |even LO|OP THEN| |000004f0| 20 3b 0d 3a 20 24 57 49 | 44 54 48 20 28 20 61 64 | ;.: $WI|DTH ( ad| |00000500| 64 72 20 2d 2d 20 70 69 | 78 20 29 20 30 20 3e 72 |dr -- pi|x ) 0 >r| |00000510| 20 20 61 3e 72 20 2c 24 | 20 41 38 38 43 20 20 72 | a>r ,$| A88C r| |00000520| 3e 20 3b 20 20 28 20 5f | 53 74 72 69 6e 67 57 69 |> ; ( _|StringWi| |00000530| 64 74 68 20 29 0d 0d 3a | 20 44 ad 20 28 20 64 31 |dth )..:| D. ( d1| |00000540| 20 64 32 20 2d 2d 20 66 | 20 29 20 72 6f 74 20 3d | d2 -- f| ) rot =| |00000550| 20 72 6f 74 20 72 6f 74 | 20 3d 20 61 6e 64 20 30 | rot rot| = and 0| |00000560| 3d 20 3b 20 20 28 20 33 | 32 20 62 69 74 20 63 6f |= ; ( 3|2 bit co| |00000570| 6d 70 61 72 65 20 29 0d | 3a 20 3f 52 45 4c 45 41 |mpare ).|: ?RELEA| |00000580| 53 45 44 20 28 20 2d 2d | 20 66 20 29 20 3f 62 75 |SED ( --| f ) ?bu| |00000590| 74 74 6f 6e 20 30 3d 20 | 3b 20 20 28 20 62 75 74 |tton 0= |; ( but| |000005a0| 74 6f 6e 20 75 70 20 29 | 0d 0d 28 20 73 61 76 65 |ton up )|..( save| |000005b0| 20 74 68 65 20 77 69 6e | 64 6f 77 20 69 6e 20 61 | the win|dow in a| |000005c0| 20 70 69 63 74 75 72 65 | 20 29 0d 3a 20 50 46 57 | picture| ).: PFW| |000005d0| 49 4e 44 20 28 20 2d 2d | 20 77 70 74 72 20 29 20 |IND ( --| wptr ) | |000005e0| 30 20 2b 6d 64 20 32 40 | 20 3b 20 20 28 20 77 69 |0 +md 2@| ; ( wi| |000005f0| 6e 64 6f 77 20 70 6f 69 | 6e 74 65 72 20 29 0d 3a |ndow poi|nter ).:| |00000600| 20 2d 53 41 56 45 20 28 | 20 2d 2d 20 29 20 28 20 | -SAVE (| -- ) ( | |00000610| 63 6c 65 61 72 20 77 69 | 6e 64 6f 77 20 70 69 63 |clear wi|ndow pic| |00000620| 74 75 72 65 20 29 0d 20 | 20 20 20 30 20 30 20 20 |ture ). | 0 0 | |00000630| 32 3e 72 20 20 70 66 77 | 69 6e 64 20 32 3e 72 20 |2>r pfw|ind 2>r | |00000640| 20 28 20 72 6f 6f 6d 20 | 61 6e 64 20 77 69 6e 64 | ( room |and wind| |00000650| 6f 77 20 70 6f 69 6e 74 | 65 72 20 29 0d 20 20 20 |ow point|er ). | |00000660| 20 2c 24 20 41 39 32 46 | 20 20 2c 24 20 41 38 46 | ,$ A92F| ,$ A8F| |00000670| 35 20 20 28 20 5f 47 65 | 74 57 69 6e 64 6f 77 50 |5 ( _Ge|tWindowP| |00000680| 69 63 20 20 5f 4b 69 6c | 6c 50 69 63 74 75 72 65 |ic _Kil|lPicture| |00000690| 20 29 0d 20 20 20 20 30 | 20 30 20 20 70 66 77 69 | ). 0| 0 pfwi| |000006a0| 6e 64 20 31 34 38 20 30 | 20 64 2b 20 20 64 6c 21 |nd 148 0| d+ dl!| |000006b0| 20 3b 20 20 28 20 7a 65 | 72 6f 20 74 68 65 20 77 | ; ( ze|ro the w| |000006c0| 69 6e 64 6f 77 20 70 69 | 63 74 75 72 65 20 29 0d |indow pi|cture ).| |000006d0| 3a 20 57 50 4f 50 45 4e | 20 28 20 2d 2d 20 68 61 |: WPOPEN| ( -- ha| |000006e0| 6e 64 6c 65 20 29 20 28 | 20 63 72 65 61 74 65 20 |ndle ) (| create | |000006f0| 61 6e 20 65 6d 70 74 79 | 20 70 69 63 74 75 72 65 |an empty| picture| |00000700| 20 29 0d 20 20 20 20 30 | 20 30 20 32 3e 72 20 20 | ). 0| 0 2>r | |00000710| 34 20 2b 6d 64 20 3e 61 | 62 73 20 32 3e 72 20 20 |4 +md >a|bs 2>r | |00000720| 2c 24 20 41 38 46 33 20 | 32 72 3e 20 3b 20 20 28 |,$ A8F3 |2r> ; (| |00000730| 20 5f 4f 70 65 6e 50 69 | 63 74 75 72 65 20 29 0d | _OpenPi|cture ).| |00000740| 3a 20 57 50 41 53 53 49 | 47 4e 20 28 20 68 61 6e |: WPASSI|GN ( han| |00000750| 64 6c 65 20 2d 2d 20 29 | 20 28 20 61 73 73 69 67 |dle -- )| ( assig| |00000760| 6e 20 61 20 70 69 63 74 | 75 72 65 20 74 6f 20 77 |n a pict|ure to w| |00000770| 69 6e 64 6f 77 20 29 0d | 20 20 20 20 70 66 77 69 |indow ).| pfwi| |00000780| 6e 64 20 32 3e 72 20 20 | 32 3e 72 20 20 2c 24 20 |nd 2>r |2>r ,$ | |00000790| 41 39 32 45 20 3b 20 20 | 28 20 5f 53 65 74 57 69 |A92E ; |( _SetWi| |000007a0| 6e 64 6f 77 50 69 63 20 | 29 0d 3a 20 57 50 43 4c |ndowPic |).: WPCL| |000007b0| 4f 53 45 20 28 20 2d 2d | 20 29 20 2c 24 20 41 38 |OSE ( --| ) ,$ A8| |000007c0| 46 34 20 3b 20 20 28 20 | 5f 43 6c 6f 73 65 50 69 |F4 ; ( |_ClosePi| |000007d0| 63 74 75 72 65 20 29 0d | 3a 20 57 42 49 54 53 20 |cture ).|: WBITS | |000007e0| 28 20 2d 2d 20 64 61 62 | 73 2e 61 64 64 72 20 29 |( -- dab|s.addr )| |000007f0| 20 70 66 77 69 6e 64 20 | 20 32 20 30 20 64 2b 20 | pfwind | 2 0 d+ | |00000800| 3b 20 20 28 20 77 69 6e | 64 6f 77 27 73 20 62 69 |; ( win|dow's bi| |00000810| 74 73 20 29 0d 3a 20 57 | 52 45 43 54 20 28 20 2d |ts ).: W|RECT ( -| |00000820| 2d 20 64 61 62 73 2e 61 | 64 64 72 20 29 20 34 20 |- dabs.a|ddr ) 4 | |00000830| 2b 6d 64 20 3e 61 62 73 | 20 3b 20 20 28 20 77 69 |+md >abs| ; ( wi| |00000840| 6e 64 6f 77 27 73 20 72 | 65 63 74 20 29 0d 3a 20 |ndow's r|ect ).: | |00000850| 43 42 49 54 53 20 28 20 | 2d 2d 20 29 20 28 20 63 |CBITS ( |-- ) ( c| |00000860| 6f 70 79 20 73 63 72 65 | 65 6e 20 74 6f 20 73 63 |opy scre|en to sc| |00000870| 72 65 65 6e 20 29 0d 20 | 20 20 20 77 62 69 74 73 |reen ). | wbits| |00000880| 20 32 64 75 70 20 32 3e | 72 20 32 3e 72 20 20 28 | 2dup 2>|r 2>r (| |00000890| 20 73 6f 75 72 63 65 20 | 62 69 74 6d 61 70 2c 20 | source |bitmap, | |000008a0| 64 65 73 74 69 6e 61 74 | 69 6f 6e 20 62 69 74 6d |destinat|ion bitm| |000008b0| 61 70 20 29 0d 20 20 20 | 20 77 72 65 63 74 20 32 |ap ). | wrect 2| |000008c0| 64 75 70 20 32 3e 72 20 | 32 3e 72 20 20 28 20 73 |dup 2>r |2>r ( s| |000008d0| 6f 75 72 63 65 20 72 65 | 63 74 2c 20 64 65 73 74 |ource re|ct, dest| |000008e0| 69 6e 61 74 69 6f 6e 20 | 72 65 63 74 20 29 0d 20 |ination |rect ). | |000008f0| 20 20 20 30 20 3e 72 20 | 20 30 20 30 20 32 3e 72 | 0 >r | 0 0 2>r| |00000900| 20 20 2c 24 20 41 38 45 | 43 20 3b 20 20 28 20 53 | ,$ A8E|C ; ( S| |00000910| 72 63 43 6f 70 79 20 6d | 6f 64 65 2c 20 20 5f 43 |rcCopy m|ode, _C| |00000920| 6f 70 79 42 69 74 73 20 | 29 0d 3a 20 53 53 41 56 |opyBits |).: SSAV| |00000930| 45 20 28 20 2d 2d 20 29 | 20 2d 73 61 76 65 20 20 |E ( -- )| -save | |00000940| 77 70 6f 70 65 6e 20 20 | 77 70 61 73 73 69 67 6e |wpopen |wpassign| |00000950| 20 20 63 62 69 74 73 20 | 20 77 70 63 6c 6f 73 65 | cbits | wpclose| |00000960| 20 3b 0d 0d 28 20 72 65 | 73 69 7a 65 20 74 68 65 | ;..( re|size the| |00000970| 20 77 69 6e 64 6f 77 20 | 29 0d 72 65 63 74 20 4c | window |).rect L| |00000980| 52 45 43 54 20 20 31 34 | 32 20 31 35 35 20 31 30 |RECT 14|2 155 10| |00000990| 30 30 20 31 30 30 30 20 | 6c 72 65 63 74 20 21 72 |00 1000 |lrect !r| |000009a0| 65 63 74 20 20 28 20 67 | 72 6f 77 20 6c 69 6d 69 |ect ( g|row limi| |000009b0| 74 20 72 65 63 74 20 29 | 0d 72 65 63 74 20 47 52 |t rect )|.rect GR| |000009c0| 45 43 54 20 20 28 20 74 | 68 65 20 67 72 6f 77 20 |ECT ( t|he grow | |000009d0| 69 63 6f 6e 20 72 65 63 | 74 20 29 0d 72 65 63 74 |icon rec|t ).rect| |000009e0| 20 44 52 45 43 54 20 20 | 28 20 74 68 65 20 64 72 | DRECT |( the dr| |000009f0| 61 77 69 6e 67 20 72 65 | 63 74 20 29 0d 3a 20 21 |awing re|ct ).: !| |00000a00| 44 52 45 43 54 20 28 20 | 2d 2d 20 29 20 30 20 35 |DRECT ( |-- ) 0 5| |00000a10| 35 20 38 20 2b 6d 64 20 | 32 40 20 73 77 61 70 20 |5 8 +md |2@ swap | |00000a20| 20 64 72 65 63 74 20 21 | 72 65 63 74 20 3b 0d 3a | drect !|rect ;.:| |00000a30| 20 47 52 50 52 45 50 20 | 28 20 2d 2d 20 29 20 28 | GRPREP |( -- ) (| |00000a40| 20 73 65 74 20 67 72 65 | 63 74 20 74 6f 20 74 68 | set gre|ct to th| |00000a50| 65 20 63 75 72 72 65 6e | 74 20 67 72 6f 77 20 69 |e curren|t grow i| |00000a60| 63 6f 6e 20 72 65 63 74 | 20 29 0d 20 20 20 20 38 |con rect| ). 8| |00000a70| 20 2b 6d 64 20 32 40 20 | 73 77 61 70 20 20 6f 76 | +md 2@ |swap ov| |00000a80| 65 72 20 31 35 20 2d 20 | 6f 76 65 72 20 31 35 20 |er 15 - |over 15 | |00000a90| 2d 20 32 73 77 61 70 20 | 20 67 72 65 63 74 20 21 |- 2swap | grect !| |00000aa0| 72 65 63 74 20 3b 0d 3a | 20 44 47 49 20 28 20 2d |rect ;.:| DGI ( -| |00000ab0| 2d 20 29 20 67 72 70 72 | 65 70 20 20 67 72 65 63 |- ) grpr|ep grec| |00000ac0| 74 20 72 63 6c 69 70 20 | 20 40 70 65 6e 0d 20 20 |t rclip | @pen. | |00000ad0| 20 20 20 20 30 20 2b 6d | 64 20 32 40 20 32 3e 72 | 0 +m|d 2@ 2>r| |00000ae0| 20 2c 24 20 41 39 30 34 | 20 20 28 20 5f 44 72 61 | ,$ A904| ( _Dra| |00000af0| 77 47 72 6f 77 49 63 6f | 6e 20 29 0d 20 20 20 20 |wGrowIco|n ). | |00000b00| 34 20 2b 6d 64 20 72 63 | 6c 69 70 20 20 21 70 65 |4 +md rc|lip !pe| |00000b10| 6e 20 3b 0d 3a 20 58 53 | 49 5a 45 20 28 20 68 20 |n ;.: XS|IZE ( h | |00000b20| 76 20 2d 2d 20 29 20 20 | 28 20 63 68 61 6e 67 65 |v -- ) |( change| |00000b30| 20 77 69 6e 64 6f 77 27 | 73 20 73 69 7a 65 20 29 | window'|s size )| |00000b40| 0d 20 20 20 20 32 64 75 | 70 20 30 20 30 20 64 ad |. 2du|p 0 0 d.| |00000b50| 20 49 46 0d 20 20 20 20 | 20 20 32 64 75 70 20 20 | IF. | 2dup | |00000b60| 38 20 2b 6d 64 20 32 21 | 20 20 21 64 72 65 63 74 |8 +md 2!| !drect| |00000b70| 20 20 28 20 75 70 64 61 | 74 65 20 72 65 63 74 73 | ( upda|te rects| |00000b80| 20 29 0d 20 20 20 20 20 | 20 34 20 2b 6d 64 20 72 | ). | 4 +md r| |00000b90| 63 6c 69 70 20 20 28 20 | 63 6c 69 70 20 74 6f 20 |clip ( |clip to | |00000ba0| 77 69 6e 64 6f 77 20 29 | 0d 20 20 20 20 20 20 30 |window )|. 0| |00000bb0| 20 2b 6d 64 20 32 40 20 | 32 3e 52 20 20 28 20 70 | +md 2@ |2>R ( p| |00000bc0| 75 73 68 20 77 69 6e 64 | 6f 77 20 70 6f 69 6e 74 |ush wind|ow point| |00000bd0| 65 72 20 29 0d 20 20 20 | 20 20 20 32 3e 52 20 20 |er ). | 2>R | |00000be0| 28 20 70 75 73 68 20 6e | 65 77 20 73 69 7a 65 20 |( push n|ew size | |00000bf0| 29 0d 20 20 20 20 20 20 | 30 20 3e 52 20 20 28 20 |). |0 >R ( | |00000c00| 70 75 73 68 20 62 6f 6f | 6c 65 61 6e 20 66 6f 72 |push boo|lean for| |00000c10| 20 6e 6f 20 75 70 64 61 | 74 65 20 29 0d 20 20 20 | no upda|te ). | |00000c20| 20 20 20 2c 24 20 41 39 | 31 44 20 20 28 20 5f 53 | ,$ A9|1D ( _S| |00000c30| 69 7a 65 57 69 6e 64 6f | 77 20 29 0d 20 20 20 20 |izeWindo|w ). | |00000c40| 45 4c 53 45 20 20 32 64 | 72 6f 70 20 20 54 48 45 |ELSE 2d|rop THE| |00000c50| 4e 20 3b 0d 32 76 61 72 | 69 61 62 6c 65 20 4d 50 |N ;.2var|iable MP| |00000c60| 4f 49 4e 54 0d 3a 20 52 | 45 53 49 5a 45 20 20 28 |OINT.: R|ESIZE (| |00000c70| 20 2d 2d 20 29 20 28 20 | 63 68 61 6e 67 65 20 77 | -- ) ( |change w| |00000c80| 69 6e 64 6f 77 20 73 69 | 7a 65 20 29 0d 20 20 20 |indow si|ze ). | |00000c90| 20 67 72 65 63 74 20 72 | 65 72 61 73 65 0d 20 20 | grect r|erase. | |00000ca0| 20 20 30 20 30 20 32 3e | 72 20 20 28 20 72 6f 6f | 0 0 2>|r ( roo| |00000cb0| 6d 20 66 6f 72 20 72 65 | 73 75 6c 74 20 29 0d 20 |m for re|sult ). | |00000cc0| 20 20 20 30 20 2b 6d 64 | 20 32 40 20 32 3e 72 20 | 0 +md| 2@ 2>r | |00000cd0| 20 28 20 77 69 6e 64 6f | 77 20 70 6f 69 6e 74 65 | ( windo|w pointe| |00000ce0| 72 20 29 0d 20 20 20 20 | 40 6d 6f 75 73 65 20 6d |r ). |@mouse m| |00000cf0| 70 6f 69 6e 74 20 32 21 | 0d 20 20 20 20 20 20 6d |point 2!|. m| |00000d00| 70 6f 69 6e 74 20 61 3e | 72 20 20 2c 24 20 41 38 |point a>|r ,$ A8| |00000d10| 37 30 20 20 28 20 5f 4c | 6f 63 61 6c 54 6f 47 6c |70 ( _L|ocalToGl| |00000d20| 6f 62 61 6c 20 29 0d 20 | 20 20 20 6d 70 6f 69 6e |obal ). | mpoin| |00000d30| 74 20 32 40 20 32 3e 72 | 20 20 28 20 67 6c 6f 62 |t 2@ 2>r| ( glob| |00000d40| 61 6c 20 70 6f 69 6e 74 | 20 29 0d 20 20 20 20 20 |al point| ). | |00000d50| 20 6c 72 65 63 74 20 61 | 3e 72 20 20 2c 24 20 41 | lrect a|>r ,$ A| |00000d60| 39 32 42 20 20 28 20 5f | 47 72 6f 77 57 69 6e 64 |92B ( _|GrowWind| |00000d70| 6f 77 20 29 0d 20 20 20 | 20 32 72 3e 20 78 73 69 |ow ). | 2r> xsi| |00000d80| 7a 65 20 64 67 69 20 73 | 73 61 76 65 20 3b 20 20 |ze dgi s|save ; | |00000d90| 28 20 73 65 74 20 77 69 | 6e 64 6f 77 20 73 69 7a |( set wi|ndow siz| |00000da0| 65 20 29 0d 0d 28 20 70 | 61 6c 61 74 65 20 64 65 |e )..( p|alate de| |00000db0| 66 69 6e 69 74 69 6f 6e | 20 29 0d 76 61 72 69 61 |finition| ).varia| |00000dc0| 62 6c 65 20 50 41 4c 41 | 54 45 20 20 30 20 70 61 |ble PALA|TE 0 pa| |00000dd0| 6c 61 74 65 20 21 20 20 | 28 20 61 64 64 72 20 6f |late ! |( addr o| |00000de0| 66 20 70 61 6c 61 74 65 | 20 64 61 74 61 20 29 0d |f palate| data ).| |00000df0| 72 65 63 74 20 50 52 45 | 43 54 20 20 28 20 74 68 |rect PRE|CT ( th| |00000e00| 65 20 70 61 6c 61 74 65 | 27 73 20 72 65 63 74 20 |e palate|'s rect | |00000e10| 29 0d 0d 28 20 64 61 74 | 61 20 61 72 72 61 79 73 |)..( dat|a arrays| |00000e20| 20 29 0d 3a 20 23 50 41 | 4c 41 54 45 20 28 20 2d | ).: #PA|LATE ( -| |00000e30| 2d 20 6e 20 61 64 64 72 | 27 20 29 20 70 61 6c 61 |- n addr|' ) pala| |00000e40| 74 65 20 40 20 64 75 70 | 20 40 20 20 73 77 61 70 |te @ dup| @ swap| |00000e50| 20 34 20 2b 20 3b 20 28 | 20 61 72 72 61 79 73 20 | 4 + ; (| arrays | |00000e60| 73 74 61 72 74 20 29 0d | 3a 20 47 52 49 44 53 20 |start ).|: GRIDS | |00000e70| 28 20 2d 2d 20 61 64 64 | 72 20 29 20 23 70 61 6c |( -- add|r ) #pal| |00000e80| 61 74 65 20 73 77 61 70 | 20 64 72 6f 70 20 3b 20 |ate swap| drop ; | |00000e90| 20 28 20 72 65 63 74 20 | 61 72 72 61 79 20 29 0d | ( rect |array ).| |00000ea0| 3a 20 41 43 54 49 4f 4e | 53 20 28 20 2d 2d 20 61 |: ACTION|S ( -- a| |00000eb0| 64 64 72 20 29 20 23 70 | 61 6c 61 74 65 20 73 77 |ddr ) #p|alate sw| |00000ec0| 61 70 20 38 20 2a 20 2b | 20 3b 20 20 28 20 61 63 |ap 8 * +| ; ( ac| |00000ed0| 74 69 6f 6e 20 61 72 72 | 61 79 20 29 0d 3a 20 4b |tion arr|ay ).: K| |00000ee0| 43 41 50 53 20 28 20 2d | 2d 20 61 64 64 72 20 29 |CAPS ( -|- addr )| |00000ef0| 20 23 70 61 6c 61 74 65 | 20 6f 76 65 72 20 38 20 | #palate| over 8 | |00000f00| 2a 20 2b 20 73 77 61 70 | 20 32 2a 20 2b 20 3b 20 |* + swap| 2* + ; | |00000f10| 20 28 20 74 69 74 6c 65 | 20 61 72 72 61 79 20 29 | ( title| array )| |00000f20| 0d 3a 20 40 50 52 45 43 | 54 20 28 20 2d 2d 20 74 |.: @PREC|T ( -- t| |00000f30| 20 6c 20 62 20 72 20 29 | 20 28 20 64 69 6d 65 6e | l b r )| ( dimen| |00000f40| 73 69 6f 6e 73 20 6f 66 | 20 74 68 65 20 70 61 6c |sions of| the pal| |00000f50| 61 74 65 20 29 0d 20 20 | 20 20 23 70 61 6c 61 74 |ate ). | #palat| |00000f60| 65 20 64 75 70 20 32 40 | 20 73 77 61 70 20 32 73 |e dup 2@| swap 2s| |00000f70| 77 61 70 20 20 73 77 61 | 70 20 31 20 2d 20 20 38 |wap swa|p 1 - 8| |00000f80| 20 2a 20 20 34 20 2b 20 | 20 2b 20 32 40 20 73 77 | * 4 + | + 2@ sw| |00000f90| 61 70 20 3b 0d 0d 28 20 | 61 64 64 72 73 20 6f 66 |ap ;..( |addrs of| |00000fa0| 20 61 72 72 61 79 65 64 | 20 65 6c 65 6d 65 6e 74 | arrayed| element| |00000fb0| 73 20 29 0d 3a 20 23 47 | 52 49 44 20 28 20 6e 20 |s ).: #G|RID ( n | |00000fc0| 2d 2d 20 61 64 64 72 20 | 29 20 38 20 2a 20 67 72 |-- addr |) 8 * gr| |00000fd0| 69 64 73 20 2b 20 3b 20 | 20 28 20 6e 74 68 20 72 |ids + ; | ( nth r| |00000fe0| 65 63 74 20 66 72 6f 6d | 20 67 72 69 64 73 20 29 |ect from| grids )| |00000ff0| 0d 3a 20 23 41 43 54 20 | 28 20 6e 20 2d 2d 20 61 |.: #ACT |( n -- a| |00001000| 64 64 72 20 29 20 32 2a | 20 61 63 74 69 6f 6e 73 |ddr ) 2*| actions| |00001010| 20 2b 20 3b 20 20 28 20 | 6e 74 68 20 76 61 72 69 | + ; ( |nth vari| |00001020| 61 62 6c 65 20 66 72 6f | 6d 20 61 63 74 69 6f 6e |able fro|m action| |00001030| 73 20 29 0d 3a 20 23 4b | 43 41 50 20 28 20 6e 20 |s ).: #K|CAP ( n | |00001040| 2d 2d 20 61 64 64 72 20 | 29 20 6b 63 61 70 73 20 |-- addr |) kcaps | |00001050| 73 77 61 70 20 23 24 20 | 3b 20 20 28 20 6e 74 68 |swap #$ |; ( nth| |00001060| 20 74 69 74 6c 65 20 73 | 74 72 69 6e 67 20 29 0d | title s|tring ).| |00001070| 3a 20 40 4b 43 41 50 20 | 28 20 6e 20 2d 2d 20 68 |: @KCAP |( n -- h| |00001080| 20 76 20 29 20 23 67 72 | 69 64 20 32 40 20 31 35 | v ) #gr|id 2@ 15| |00001090| 20 2b 20 73 77 61 70 20 | 37 20 2b 20 73 77 61 70 | + swap |7 + swap| |000010a0| 20 3b 20 28 20 6e 74 68 | 20 70 6f 73 69 74 69 6f | ; ( nth| positio| |000010b0| 6e 20 29 0d 0d 3a 20 57 | 4d 41 58 20 28 20 2d 2d |n )..: W|MAX ( --| |000010c0| 20 70 69 78 65 6c 73 20 | 29 20 20 28 20 77 69 64 | pixels |) ( wid| |000010d0| 74 68 20 6f 66 20 6c 6f | 6e 67 65 73 74 20 73 74 |th of lo|ngest st| |000010e0| 72 69 6e 67 20 29 0d 20 | 20 20 20 73 66 6f 6e 74 |ring ). | sfont| |000010f0| 20 20 30 20 20 23 70 61 | 6c 61 74 65 20 64 72 6f | 0 #pa|late dro| |00001100| 70 20 30 20 44 4f 20 20 | 72 20 23 6b 63 61 70 20 |p 0 DO |r #kcap | |00001110| 24 77 69 64 74 68 20 6d | 61 78 20 20 4c 4f 4f 50 |$width m|ax LOOP| |00001120| 20 20 20 6e 66 6f 6e 74 | 20 3b 0d 0d 3a 20 2d 50 | nfont| ;..: -P| |00001130| 41 4c 41 54 45 20 28 20 | 2d 2d 20 29 20 28 20 74 |ALATE ( |-- ) ( t| |00001140| 75 72 6e 20 74 68 65 20 | 63 75 72 72 65 6e 74 20 |urn the |current | |00001150| 70 61 6c 61 74 65 20 6f | 66 66 20 29 0d 20 20 20 |palate o|ff ). | |00001160| 20 70 61 6c 61 74 65 20 | 40 20 49 46 20 20 70 72 | palate |@ IF pr| |00001170| 65 63 74 20 72 65 72 61 | 73 65 20 20 30 20 70 61 |ect rera|se 0 pa| |00001180| 6c 61 74 65 20 21 20 20 | 54 48 45 4e 0d 20 20 20 |late ! |THEN. | |00001190| 20 20 20 5b 20 27 20 62 | 65 65 70 20 6c 69 74 65 | [ ' b|eep lite| |000011a0| 72 61 6c 20 5d 20 31 36 | 20 2b 6d 64 20 21 20 3b |ral ] 16| +md ! ;| |000011b0| 0d 0d 3a 20 2e 50 41 4c | 41 54 45 20 28 20 2d 2d |..: .PAL|ATE ( --| |000011c0| 20 29 20 28 20 64 72 61 | 77 20 74 68 65 20 70 61 | ) ( dra|w the pa| |000011d0| 6c 61 74 65 20 29 0d 20 | 20 20 20 70 61 6c 61 74 |late ). | palat| |000011e0| 65 20 40 20 49 46 0d 20 | 20 20 20 20 20 40 70 65 |e @ IF. | @pe| |000011f0| 6e 20 20 20 73 66 6f 6e | 74 0d 20 20 20 20 20 20 |n sfon|t. | |00001200| 70 72 65 63 74 20 64 75 | 70 20 72 63 6c 69 70 20 |prect du|p rclip | |00001210| 20 72 65 72 61 73 65 0d | 20 20 20 20 20 20 23 70 | rerase.| #p| |00001220| 61 6c 61 74 65 20 64 72 | 6f 70 20 30 20 44 4f 20 |alate dr|op 0 DO | |00001230| 20 28 20 64 6f 20 65 61 | 63 68 20 72 65 63 74 20 | ( do ea|ch rect | |00001240| 29 0d 20 20 20 20 20 20 | 20 20 72 20 40 6b 63 61 |). | r @kca| |00001250| 70 20 21 70 65 6e 20 20 | 28 20 67 6f 20 74 6f 20 |p !pen |( go to | |00001260| 6c 61 62 6c 65 20 70 6f | 73 69 74 69 6f 6e 20 29 |lable po|sition )| |00001270| 0d 20 20 20 20 20 20 20 | 20 72 20 23 6b 63 61 70 |. | r #kcap| |00001280| 20 63 6f 75 6e 74 20 20 | 74 79 70 65 20 20 28 20 | count |type ( | |00001290| 74 79 70 65 20 6c 61 62 | 6c 65 20 29 0d 20 20 20 |type lab|le ). | |000012a0| 20 20 20 20 20 72 20 23 | 67 72 69 64 20 72 66 72 | r #|grid rfr| |000012b0| 61 6d 65 20 20 28 20 66 | 72 61 6d 65 20 74 68 65 |ame ( f|rame the| |000012c0| 20 6b 65 79 20 29 0d 20 | 20 20 20 20 20 4c 4f 4f | key ). | LOO| |000012d0| 50 20 21 70 65 6e 20 6e | 66 6f 6e 74 20 20 28 20 |P !pen n|font ( | |000012e0| 72 65 73 65 74 20 74 68 | 65 20 70 65 6e 20 29 0d |reset th|e pen ).| |000012f0| 20 20 20 20 20 20 34 20 | 2b 6d 64 20 72 63 6c 69 | 4 |+md rcli| |00001300| 70 20 54 48 45 4e 20 3b | 20 20 28 20 72 65 73 65 |p THEN ;| ( rese| |00001310| 74 20 74 68 65 20 63 6c | 69 70 72 65 63 74 20 29 |t the cl|iprect )| |00001320| 0d 20 20 20 20 20 20 0d | 3a 20 48 56 3e 4b 45 59 |. .|: HV>KEY| |00001330| 20 20 28 20 68 20 76 20 | 2d 2d 20 62 75 74 74 6f | ( h v |-- butto| |00001340| 6e 2e 6e 6f 20 29 20 28 | 20 70 73 74 61 63 6b 20 |n.no ) (| pstack | |00001350| 3a 20 72 73 74 61 63 6b | 20 29 0d 20 20 20 20 32 |: rstack| ). 2| |00001360| 3e 72 20 20 23 70 61 6c | 61 74 65 20 64 72 6f 70 |>r #pal|ate drop| |00001370| 20 31 2b 20 42 45 47 49 | 4e 20 20 28 20 2d 2d 20 | 1+ BEGI|N ( -- | |00001380| 23 2b 31 20 3a 20 2d 2d | 20 68 20 76 20 29 0d 20 |#+1 : --| h v ). | |00001390| 20 20 20 20 20 31 20 2d | 20 20 64 75 70 20 23 67 | 1 -| dup #g| |000013a0| 72 69 64 20 20 28 20 2d | 2d 20 23 20 61 64 64 72 |rid ( -|- # addr| |000013b0| 20 3a 20 2d 2d 20 68 20 | 76 20 29 0d 20 20 20 20 | : -- h |v ). | |000013c0| 20 20 32 72 3e 20 32 64 | 75 70 20 32 3e 72 20 20 | 2r> 2d|up 2>r | |000013d0| 72 6f 74 20 20 28 20 2d | 2d 20 23 20 68 20 76 20 |rot ( -|- # h v | |000013e0| 61 64 64 72 20 3a 20 2d | 2d 20 68 20 76 20 29 0d |addr : -|- h v ).| |000013f0| 20 20 20 20 20 20 3f 69 | 6e 20 20 6f 76 65 72 20 | ?i|n over | |00001400| 30 3c 20 4f 52 20 20 28 | 20 2d 2d 20 23 20 66 6c |0< OR (| -- # fl| |00001410| 61 67 20 3a 20 2d 2d 20 | 68 20 76 20 29 0d 20 20 |ag : -- |h v ). | |00001420| 20 20 55 4e 54 49 4c 20 | 20 32 72 3e 20 32 64 72 | UNTIL | 2r> 2dr| |00001430| 6f 70 20 3b 20 20 28 20 | 2d 2d 20 23 20 29 0d 20 |op ; ( |-- # ). | |00001440| 20 20 20 0d 76 61 72 69 | 61 62 6c 65 20 44 4d 4f | .vari|able DMO| |00001450| 44 45 20 20 27 20 62 65 | 65 70 20 64 6d 6f 64 65 |DE ' be|ep dmode| |00001460| 20 21 20 20 28 20 6e 6f | 6e 70 61 6c 61 74 65 20 | ! ( no|npalate | |00001470| 63 6c 69 63 6b 20 61 63 | 74 69 6f 6e 20 29 0d 76 |click ac|tion ).v| |00001480| 61 72 69 61 62 6c 65 20 | 54 42 55 54 54 20 2d 31 |ariable |TBUTT -1| |00001490| 20 74 62 75 74 74 20 21 | 20 20 28 20 74 68 69 73 | tbutt !| ( this| |000014a0| 20 62 75 74 74 6f 6e 20 | 29 0d 76 61 72 69 61 62 | button |).variab| |000014b0| 6c 65 20 4c 42 55 54 54 | 20 2d 31 20 6c 62 75 74 |le LBUTT| -1 lbut| |000014c0| 74 20 21 20 20 28 20 6c | 61 73 74 20 62 75 74 74 |t ! ( l|ast butt| |000014d0| 6f 6e 20 66 6f 72 20 75 | 6e 68 69 6c 69 67 68 74 |on for u|nhilight| |000014e0| 69 6e 67 20 29 0d 0d 3a | 20 44 4f 42 55 54 54 4f |ing )..:| DOBUTTO| |000014f0| 4e 20 28 20 2d 2d 20 29 | 20 28 20 68 61 6e 64 6c |N ( -- )| ( handl| |00001500| 65 20 62 75 74 74 6f 6e | 20 64 6f 77 6e 20 65 76 |e button| down ev| |00001510| 65 6e 74 73 20 29 0d 20 | 20 40 6d 6f 75 73 65 20 |ents ). | @mouse | |00001520| 67 72 65 63 74 20 3f 69 | 6e 20 49 46 20 20 72 65 |grect ?i|n IF re| |00001530| 73 69 7a 65 20 45 4c 53 | 45 20 20 28 20 72 65 73 |size ELS|E ( res| |00001540| 69 7a 65 20 77 69 6e 64 | 6f 77 20 29 0d 20 20 20 |ize wind|ow ). | |00001550| 20 70 61 6c 61 74 65 20 | 40 20 49 46 20 20 28 20 | palate |@ IF ( | |00001560| 6f 6e 6c 79 20 64 6f 20 | 74 68 69 73 20 69 66 20 |only do |this if | |00001570| 74 68 65 72 65 27 73 20 | 61 20 70 61 6c 61 74 65 |there's |a palate| |00001580| 20 29 0d 20 20 20 20 20 | 20 40 6d 6f 75 73 65 20 | ). | @mouse | |00001590| 68 76 3e 6b 65 79 20 30 | 3c 20 30 3d 20 49 46 20 |hv>key 0|< 0= IF | |000015a0| 20 28 20 63 6c 69 63 6b | 20 69 73 20 6f 6e 20 61 | ( click| is on a| |000015b0| 20 62 75 74 74 6f 6e 20 | 69 6e 20 70 61 6c 61 74 | button |in palat| |000015c0| 65 20 29 0d 20 20 20 20 | 20 20 20 20 40 6d 6f 75 |e ). | @mou| |000015d0| 73 65 20 68 76 3e 6b 65 | 79 20 20 64 75 70 20 74 |se hv>ke|y dup t| |000015e0| 62 75 74 74 20 21 20 20 | 28 20 73 65 74 20 54 68 |butt ! |( set Th| |000015f0| 69 73 42 75 74 74 6f 6e | 20 74 6f 20 70 6f 73 69 |isButton| to posi| |00001600| 74 69 6f 6e 20 29 0d 20 | 20 20 20 20 20 20 20 64 |tion ). | d| |00001610| 75 70 20 23 67 72 69 64 | 20 72 69 6e 76 65 72 74 |up #grid| rinvert| |00001620| 20 20 6c 62 75 74 74 20 | 21 20 20 28 20 64 72 61 | lbutt |! ( dra| |00001630| 77 20 62 75 74 74 6f 6e | 2c 20 73 65 74 20 4c 61 |w button|, set La| |00001640| 73 74 42 75 74 74 6f 6e | 20 29 0d 20 20 20 20 20 |stButton| ). | |00001650| 20 20 20 42 45 47 49 4e | 20 20 40 6d 6f 75 73 65 | BEGIN| @mouse| |00001660| 20 68 76 3e 6b 65 79 20 | 74 62 75 74 74 20 21 20 | hv>key |tbutt ! | |00001670| 20 28 20 73 65 74 20 54 | 68 69 73 42 75 74 74 6f | ( set T|hisButto| |00001680| 6e 20 74 6f 20 70 6f 73 | 69 74 69 6f 6e 20 29 0d |n to pos|ition ).| |00001690| 20 20 20 20 20 20 20 20 | 20 20 74 62 75 74 74 20 | | tbutt | |000016a0| 40 20 6c 62 75 74 74 20 | 40 20 3d 20 30 3d 20 49 |@ lbutt |@ = 0= I| |000016b0| 46 20 20 28 20 54 68 69 | 73 42 75 74 74 6f 6e 20 |F ( Thi|sButton | |000016c0| ad 20 6c 61 73 74 20 62 | 75 74 74 6f 6e 20 29 0d |. last b|utton ).| |000016d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 6c 62 75 74 | | lbut| |000016e0| 74 20 40 20 20 23 67 72 | 69 64 20 72 69 6e 76 65 |t @ #gr|id rinve| |000016f0| 72 74 20 20 28 20 75 6e | 69 6e 76 65 72 74 20 4c |rt ( un|invert L| |00001700| 61 73 74 42 75 74 74 6f | 6e 20 29 0d 20 20 20 20 |astButto|n ). | |00001710| 20 20 20 20 20 20 20 20 | 74 62 75 74 74 20 40 20 | |tbutt @ | |00001720| 20 23 67 72 69 64 20 72 | 69 6e 76 65 72 74 20 20 | #grid r|invert | |00001730| 28 20 69 6e 76 65 72 74 | 20 54 68 69 73 42 75 74 |( invert| ThisBut| |00001740| 74 6f 6e 20 29 0d 20 20 | 20 20 20 20 20 20 20 20 |ton ). | | |00001750| 20 20 74 62 75 74 74 20 | 40 20 20 6c 62 75 74 74 | tbutt |@ lbutt| |00001760| 20 21 20 20 54 48 45 4e | 20 20 28 20 72 65 73 65 | ! THEN| ( rese| |00001770| 74 20 4c 61 73 74 42 75 | 74 74 6f 6e 20 29 0d 20 |t LastBu|tton ). | |00001780| 20 20 20 20 20 20 20 3f | 72 65 6c 65 61 73 65 64 | ?|released| |00001790| 20 55 4e 54 49 4c 20 20 | 28 20 71 75 69 74 20 6c | UNTIL |( quit l| |000017a0| 6f 6f 70 20 69 66 20 6d | 6f 75 73 65 20 72 65 6c |oop if m|ouse rel| |000017b0| 65 61 73 65 64 20 29 0d | 20 20 20 20 20 20 20 20 |eased ).| | |000017c0| 74 62 75 74 74 20 40 20 | 20 2d 31 20 3e 20 49 46 |tbutt @ | -1 > IF| |000017d0| 20 20 20 28 20 69 66 20 | 62 75 74 74 6f 6e 20 77 | ( if |button w| |000017e0| 61 73 20 73 65 6c 65 63 | 74 65 64 20 29 0d 20 20 |as selec|ted ). | |000017f0| 20 20 20 20 20 20 20 20 | 74 62 75 74 74 20 40 20 | |tbutt @ | |00001800| 20 23 67 72 69 64 20 72 | 69 6e 76 65 72 74 20 20 | #grid r|invert | |00001810| 28 20 69 6e 76 65 72 74 | 20 54 68 69 73 42 75 74 |( invert| ThisBut| |00001820| 74 6f 6e 20 29 0d 20 20 | 20 20 20 20 20 20 20 20 |ton ). | | |00001830| 74 62 75 74 74 20 40 20 | 20 23 61 63 74 20 40 20 |tbutt @ | #act @ | |00001840| 65 78 65 63 75 74 65 20 | 20 28 20 64 6f 20 62 75 |execute | ( do bu| |00001850| 74 74 6f 6e 27 73 20 61 | 63 74 69 6f 6e 20 29 0d |tton's a|ction ).| |00001860| 20 20 20 20 20 20 20 20 | 54 48 45 4e 0d 20 20 20 | |THEN. | |00001870| 20 20 20 45 4c 53 45 20 | 20 28 20 63 6c 69 63 6b | ELSE | ( click| |00001880| 20 69 73 20 6f 75 74 73 | 69 64 65 20 70 61 6c 61 | is outs|ide pala| |00001890| 74 65 20 29 0d 20 20 20 | 20 20 20 20 20 64 6d 6f |te ). | dmo| |000018a0| 64 65 20 40 20 65 78 65 | 63 75 74 65 20 20 28 20 |de @ exe|cute ( | |000018b0| 64 6f 20 74 68 65 20 64 | 6d 6f 64 65 20 61 63 74 |do the d|mode act| |000018c0| 69 6f 6e 20 29 0d 20 20 | 20 20 20 20 54 48 45 4e |ion ). | THEN| |000018d0| 0d 20 20 20 20 45 4c 53 | 45 20 62 65 65 70 20 54 |. ELS|E beep T| |000018e0| 48 45 4e 20 54 48 45 4e | 20 3b 0d 20 20 20 20 0d |HEN THEN| ;. .| |000018f0| 3a 20 3a 50 41 4c 41 54 | 45 20 20 28 20 73 74 61 |: :PALAT|E ( sta| |00001900| 72 74 20 70 61 6c 61 74 | 65 20 64 61 74 61 20 73 |rt palat|e data s| |00001910| 74 72 75 63 74 75 72 65 | 20 29 0d 20 20 20 20 43 |tructure| ). C| |00001920| 52 45 41 54 45 20 20 28 | 20 63 6f 6d 70 69 6c 65 |REATE (| compile| |00001930| 20 74 69 6d 65 20 62 65 | 68 61 76 69 6f 72 3a 20 | time be|havior: | |00001940| 6e 6f 2e 6f 66 2e 62 75 | 74 74 6f 6e 73 20 2d 2d |no.of.bu|ttons --| |00001950| 20 29 0d 20 20 20 20 20 | 20 68 65 72 65 20 70 61 | ). | here pa| |00001960| 6c 61 74 65 20 21 20 20 | 28 20 73 65 74 20 70 61 |late ! |( set pa| |00001970| 6c 61 74 65 20 66 6f 72 | 20 22 3b 70 61 6c 61 74 |late for| ";palat| |00001980| 65 22 20 29 0d 20 20 20 | 20 20 20 40 70 72 65 63 |e" ). | @prec| |00001990| 74 20 70 72 65 63 74 20 | 21 72 65 63 74 20 20 28 |t prect |!rect (| |000019a0| 20 73 65 74 20 74 68 65 | 20 70 61 6c 61 74 65 27 | set the| palate'| |000019b0| 73 20 72 65 63 74 20 29 | 0d 20 20 20 20 20 20 64 |s rect )|. d| |000019c0| 75 70 20 2c 20 20 32 20 | 61 6c 6c 6f 74 20 20 28 |up , 2 |allot (| |000019d0| 20 63 6f 6d 6d 61 20 6e | 6f 20 6f 66 20 62 75 74 | comma n|o of but| |000019e0| 74 6f 6e 73 20 26 20 75 | 6e 75 73 65 64 20 29 0d |tons & u|nused ).| |000019f0| 20 20 20 20 20 20 38 20 | 2a 20 61 6c 6c 6f 74 20 | 8 |* allot | |00001a00| 20 28 20 61 6c 6c 6f 74 | 20 72 65 63 74 73 20 29 | ( allot| rects )| |00001a10| 0d 20 20 20 20 44 4f 45 | 53 3e 20 20 28 20 72 75 |. DOE|S> ( ru| |00001a20| 6e 20 74 69 6d 65 20 62 | 65 68 61 76 69 6f 72 3a |n time b|ehavior:| |00001a30| 20 2d 2d 20 29 0d 20 20 | 20 20 20 20 70 61 6c 61 | -- ). | pala| |00001a40| 74 65 20 21 20 20 28 20 | 73 65 74 73 20 22 70 61 |te ! ( |sets "pa| |00001a50| 6c 61 74 65 22 20 76 61 | 72 69 61 62 6c 65 20 29 |late" va|riable )| |00001a60| 0d 20 20 20 20 20 20 40 | 70 72 65 63 74 20 70 72 |. @|prect pr| |00001a70| 65 63 74 20 21 72 65 63 | 74 20 20 28 20 73 65 74 |ect !rec|t ( set| |00001a80| 20 70 61 6c 61 74 65 27 | 73 20 72 65 63 74 20 29 | palate'|s rect )| |00001a90| 0d 20 20 20 20 20 20 2e | 70 61 6c 61 74 65 20 20 |. .|palate | |00001aa0| 28 20 64 72 61 77 20 74 | 68 65 20 70 61 6c 61 74 |( draw t|he palat| |00001ab0| 65 20 29 0d 20 20 20 20 | 20 20 5b 20 27 20 64 6f |e ). | [ ' do| |00001ac0| 62 75 74 74 6f 6e 20 6c | 69 74 65 72 61 6c 20 5d |button l|iteral ]| |00001ad0| 20 31 36 20 2b 6d 64 20 | 21 20 3b 20 20 28 20 73 | 16 +md |! ; ( s| |00001ae0| 65 74 20 6d 6f 75 73 65 | 20 64 6f 77 6e 20 29 0d |et mouse| down ).| |00001af0| 20 20 20 20 20 20 0d 3a | 20 3b 50 41 4c 41 54 45 | .:| ;PALATE| |00001b00| 20 20 28 20 74 20 6c 20 | 2d 2d 20 29 20 28 20 63 | ( t l |-- ) ( c| |00001b10| 6f 6d 70 75 74 65 20 72 | 65 63 74 73 20 29 0d 20 |ompute r|ects ). | |00001b20| 20 20 20 73 77 61 70 20 | 20 23 70 61 6c 61 74 65 | swap | #palate| |00001b30| 20 64 72 6f 70 20 30 20 | 44 4f 20 20 28 20 74 6f | drop 0 |DO ( to| |00001b40| 70 20 6c 65 66 74 20 2d | 2d 20 29 0d 20 20 20 20 |p left -|- ). | |00001b50| 20 20 32 64 75 70 20 20 | 32 64 75 70 20 20 28 20 | 2dup |2dup ( | |00001b60| 74 6f 70 20 6c 65 66 74 | 20 74 6f 70 20 6c 65 66 |top left| top lef| |00001b70| 74 20 74 6f 70 20 6c 65 | 66 74 20 2d 2d 20 29 0d |t top le|ft -- ).| |00001b80| 20 20 20 20 20 20 32 31 | 20 20 77 6d 61 78 20 31 | 21| wmax 1| |00001b90| 32 20 2b 20 64 2b 20 20 | 28 20 74 6f 70 20 6c 65 |2 + d+ |( top le| |00001ba0| 66 74 20 74 6f 70 20 6c | 65 66 74 20 62 6f 74 74 |ft top l|eft bott| |00001bb0| 6f 6d 20 72 69 67 68 74 | 20 2d 2d 20 29 0d 20 20 |om right| -- ). | |00001bc0| 20 20 20 20 72 20 38 20 | 2a 20 20 67 72 69 64 73 | r 8 |* grids| |00001bd0| 20 2b 20 20 21 72 65 63 | 74 20 20 28 20 74 6f 70 | + !rec|t ( top| |00001be0| 20 6c 65 66 74 20 2d 2d | 20 29 0d 20 20 20 20 20 | left --| ). | |00001bf0| 20 73 77 61 70 20 32 30 | 20 2b 20 73 77 61 70 20 | swap 20| + swap | |00001c00| 20 28 20 74 6f 70 27 20 | 6c 65 66 74 20 2d 2d 20 | ( top' |left -- | |00001c10| 29 0d 20 20 20 20 4c 4f | 4f 50 20 20 32 64 72 6f |). LO|OP 2dro| |00001c20| 70 20 3b 0d 0d 28 20 50 | 61 69 6e 74 69 6e 67 20 |p ;..( P|ainting | |00001c30| 70 72 6f 63 65 64 75 72 | 65 73 20 29 0d 0d 28 20 |procedur|es )..( | |00001c40| 73 63 72 69 62 62 6c 65 | 20 6d 6f 64 65 20 29 0d |scribble| mode ).| |00001c50| 3a 20 44 52 41 57 20 28 | 20 2d 2d 20 29 20 2c 24 |: DRAW (| -- ) ,$| |00001c60| 20 41 38 35 32 20 20 28 | 20 5f 48 69 64 65 43 75 | A852 (| _HideCu| |00001c70| 72 73 6f 72 20 29 0d 20 | 20 20 20 64 72 65 63 74 |rsor ). | drect| |00001c80| 20 72 63 6c 69 70 20 20 | 28 20 63 6c 69 70 20 74 | rclip |( clip t| |00001c90| 6f 20 64 72 61 77 69 6e | 67 20 61 72 65 61 20 29 |o drawin|g area )| |00001ca0| 0d 20 20 20 20 40 70 65 | 6e 20 20 40 6d 6f 75 73 |. @pe|n @mous| |00001cb0| 65 20 32 64 75 70 20 21 | 70 65 6e 20 20 28 20 70 |e 2dup !|pen ( p| |00001cc0| 6f 73 69 74 69 6f 6e 20 | 70 65 6e 20 61 74 20 6d |osition |pen at m| |00001cd0| 6f 75 73 65 20 29 0d 20 | 20 20 20 42 45 47 49 4e |ouse ). | BEGIN| |00001ce0| 20 20 40 6d 6f 75 73 65 | 20 32 73 77 61 70 20 32 | @mouse| 2swap 2| |00001cf0| 6f 76 65 72 20 32 6f 76 | 65 72 0d 20 20 20 20 20 |over 2ov|er. | |00001d00| 20 64 ad 20 20 3e 72 20 | 32 64 72 6f 70 20 72 3e | d. >r |2drop r>| |00001d10| 20 20 49 46 20 20 32 64 | 75 70 20 2d 74 6f 20 20 | IF 2d|up -to | |00001d20| 54 48 45 4e 0d 20 20 20 | 20 3f 72 65 6c 65 61 73 |THEN. | ?releas| |00001d30| 65 64 20 55 4e 54 49 4c | 20 20 32 64 72 6f 70 20 |ed UNTIL| 2drop | |00001d40| 20 21 70 65 6e 0d 20 20 | 20 20 34 20 2b 6d 64 20 | !pen. | 4 +md | |00001d50| 72 63 6c 69 70 20 20 28 | 20 72 65 73 74 6f 72 65 |rclip (| restore| |00001d60| 20 66 75 6c 6c 20 63 6c | 69 70 20 72 65 63 74 20 | full cl|ip rect | |00001d70| 29 0d 20 20 20 20 2c 24 | 20 41 38 35 33 20 20 73 |). ,$| A853 s| |00001d80| 73 61 76 65 20 3b 20 20 | 28 20 5f 53 68 6f 77 43 |save ; |( _ShowC| |00001d90| 75 72 73 6f 72 20 29 0d | 0d 28 20 6c 69 6e 65 20 |ursor ).|.( line | |00001da0| 64 72 61 77 69 6e 67 20 | 6d 6f 64 65 20 29 0d 32 |drawing |mode ).2| |00001db0| 76 61 72 69 61 62 6c 65 | 20 4c 53 54 41 52 54 20 |variable| LSTART | |00001dc0| 20 28 20 73 74 61 72 74 | 20 70 6f 69 6e 74 20 29 | ( start| point )| |00001dd0| 0d 32 76 61 72 69 61 62 | 6c 65 20 4c 44 45 53 54 |.2variab|le LDEST| |00001de0| 20 20 28 20 64 65 73 74 | 20 70 6f 69 6e 74 20 29 | ( dest| point )| |00001df0| 0d 32 76 61 72 69 61 62 | 6c 65 20 4c 4f 4c 44 20 |.2variab|le LOLD | |00001e00| 20 28 20 6c 61 73 74 20 | 70 6f 69 6e 74 20 29 0d | ( last |point ).| |00001e10| 0d 3a 20 4c 49 4e 45 20 | 28 20 2d 2d 20 29 20 2c |.: LINE |( -- ) ,| |00001e20| 24 20 41 38 35 32 20 20 | 28 20 5f 48 69 64 65 43 |$ A852 |( _HideC| |00001e30| 75 72 73 6f 72 20 29 0d | 20 20 20 20 40 70 65 6e |ursor ).| @pen| |00001e40| 20 20 31 30 20 70 6d 6f | 64 65 20 28 20 70 61 74 | 10 pmo|de ( pat| |00001e50| 58 4f 52 20 29 0d 20 20 | 20 20 40 6d 6f 75 73 65 |XOR ). | @mouse| |00001e60| 20 32 64 75 70 20 32 64 | 75 70 20 20 28 20 67 65 | 2dup 2d|up ( ge| |00001e70| 74 20 6d 6f 75 73 65 20 | 70 6f 73 69 74 69 6f 6e |t mouse |position| |00001e80| 20 29 0d 20 20 20 20 6c | 6f 6c 64 20 32 21 20 20 | ). l|old 2! | |00001e90| 6c 64 65 73 74 20 32 21 | 20 20 6c 73 74 61 72 74 |ldest 2!| lstart| |00001ea0| 20 32 21 20 20 28 20 73 | 65 74 20 61 6c 6c 20 76 | 2! ( s|et all v| |00001eb0| 61 72 69 61 62 6c 65 73 | 20 29 0d 20 20 20 20 64 |ariables| ). d| |00001ec0| 72 65 63 74 20 72 63 6c | 69 70 0d 20 20 20 20 42 |rect rcl|ip. B| |00001ed0| 45 47 49 4e 0d 20 20 20 | 20 20 20 40 6d 6f 75 73 |EGIN. | @mous| |00001ee0| 65 20 20 6c 64 65 73 74 | 20 32 21 20 20 28 20 73 |e ldest| 2! ( s| |00001ef0| 65 74 20 64 65 73 74 20 | 74 6f 20 6d 6f 75 73 65 |et dest |to mouse| |00001f00| 20 70 6f 73 69 74 69 6f | 6e 20 29 0d 20 20 20 20 | positio|n ). | |00001f10| 20 20 6c 64 65 73 74 20 | 32 40 20 20 6c 6f 6c 64 | ldest |2@ lold| |00001f20| 20 32 40 20 20 64 ad 20 | 49 46 20 20 28 20 69 66 | 2@ d. |IF ( if| |00001f30| 20 6d 6f 75 73 65 20 69 | 73 20 6d 6f 76 65 64 20 | mouse i|s moved | |00001f40| 29 0d 20 20 20 20 20 20 | 20 20 6c 73 74 61 72 74 |). | lstart| |00001f50| 20 32 40 20 21 70 65 6e | 20 20 6c 64 65 73 74 20 | 2@ !pen| ldest | |00001f60| 32 40 20 2d 74 6f 20 20 | 28 20 64 72 61 77 20 73 |2@ -to |( draw s| |00001f70| 74 61 72 74 2d 3e 64 65 | 73 74 20 29 0d 20 20 20 |tart->de|st ). | |00001f80| 20 20 20 20 20 6c 73 74 | 61 72 74 20 32 40 20 21 | lst|art 2@ !| |00001f90| 70 65 6e 20 20 6c 6f 6c | 64 20 32 40 20 2d 74 6f |pen lol|d 2@ -to| |00001fa0| 20 20 54 48 45 4e 20 20 | 28 20 75 6e 64 72 61 77 | THEN |( undraw| |00001fb0| 20 73 74 61 72 74 2d 3e | 6f 6c 64 20 29 0d 20 20 | start->|old ). | |00001fc0| 20 20 20 20 6c 64 65 73 | 74 20 32 40 20 20 6c 6f | ldes|t 2@ lo| |00001fd0| 6c 64 20 32 21 20 20 28 | 20 73 65 74 20 6f 6c 64 |ld 2! (| set old| |00001fe0| 20 74 6f 20 64 65 73 74 | 20 29 0d 20 20 20 20 3f | to dest| ). ?| |00001ff0| 72 65 6c 65 61 73 65 64 | 20 55 4e 54 49 4c 20 20 |released| UNTIL | |00002000| 28 20 69 66 20 62 75 74 | 74 6f 6e 20 69 73 20 64 |( if but|ton is d| |00002010| 6f 77 6e 20 47 4f 54 4f | 20 42 45 47 49 4e 20 29 |own GOTO| BEGIN )| |00002020| 0d 20 20 20 20 38 20 70 | 6d 6f 64 65 20 20 28 20 |. 8 p|mode ( | |00002030| 70 61 74 43 4f 50 59 20 | 29 0d 20 20 20 20 6c 73 |patCOPY |). ls| |00002040| 74 61 72 74 20 32 40 20 | 21 70 65 6e 20 20 6c 64 |tart 2@ |!pen ld| |00002050| 65 73 74 20 32 40 20 2d | 74 6f 20 20 28 20 64 72 |est 2@ -|to ( dr| |00002060| 61 77 20 73 74 61 72 74 | 20 74 6f 20 64 65 73 74 |aw start| to dest| |00002070| 20 29 0d 20 20 20 20 21 | 70 65 6e 20 20 28 20 72 | ). !|pen ( r| |00002080| 65 74 75 72 6e 20 70 65 | 6e 27 73 20 6f 72 69 67 |eturn pe|n's orig| |00002090| 6f 6e 61 6c 20 70 6f 73 | 69 74 69 6f 6e 20 29 0d |onal pos|ition ).| |000020a0| 20 20 20 20 34 20 2b 6d | 64 20 72 63 6c 69 70 20 | 4 +m|d rclip | |000020b0| 20 28 20 72 65 73 74 6f | 72 65 20 66 75 6c 6c 20 | ( resto|re full | |000020c0| 63 6c 69 70 20 72 65 63 | 74 20 29 0d 20 20 20 20 |clip rec|t ). | |000020d0| 2c 24 20 41 38 35 33 20 | 20 73 73 61 76 65 20 3b |,$ A853 | ssave ;| |000020e0| 20 20 28 20 5f 53 68 6f | 77 43 75 72 73 6f 72 20 | ( _Sho|wCursor | |000020f0| 29 0d 0d 28 20 72 65 63 | 74 20 6d 6f 64 65 73 20 |)..( rec|t modes | |00002100| 29 0d 3a 20 54 42 20 28 | 20 70 74 31 20 70 74 32 |).: TB (| pt1 pt2| |00002110| 20 2d 2d 20 76 31 20 76 | 32 20 29 20 32 40 20 73 | -- v1 v|2 ) 2@ s| |00002120| 77 61 70 20 64 72 6f 70 | 20 73 77 61 70 20 32 40 |wap drop| swap 2@| |00002130| 20 73 77 61 70 20 64 72 | 6f 70 20 3b 0d 3a 20 4c | swap dr|op ;.: L| |00002140| 52 20 28 20 70 74 31 20 | 70 74 32 20 2d 2d 20 68 |R ( pt1 |pt2 -- h| |00002150| 31 20 68 32 20 29 20 32 | 40 20 64 72 6f 70 20 73 |1 h2 ) 2|@ drop s| |00002160| 77 61 70 20 32 40 20 64 | 72 6f 70 20 3b 0d 3a 20 |wap 2@ d|rop ;.: | |00002170| 54 4f 50 20 28 20 70 74 | 31 20 70 74 32 20 2d 2d |TOP ( pt|1 pt2 --| |00002180| 20 74 20 29 20 74 62 20 | 6d 69 6e 20 3b 0d 3a 20 | t ) tb |min ;.: | |00002190| 42 4f 54 20 28 20 70 74 | 31 20 70 74 32 20 2d 2d |BOT ( pt|1 pt2 --| |000021a0| 20 62 20 29 20 74 62 20 | 6d 61 78 20 3b 0d 3a 20 | b ) tb |max ;.: | |000021b0| 4c 45 46 54 20 28 20 70 | 74 31 20 70 74 32 20 2d |LEFT ( p|t1 pt2 -| |000021c0| 2d 20 6c 20 29 20 6c 72 | 20 6d 69 6e 20 3b 0d 3a |- l ) lr| min ;.:| |000021d0| 20 52 49 47 48 54 20 28 | 20 70 74 31 20 70 74 32 | RIGHT (| pt1 pt2| |000021e0| 20 2d 2d 20 72 20 29 20 | 6c 72 20 6d 61 78 20 3b | -- r ) |lr max ;| |000021f0| 0d 3a 20 54 4c 42 52 20 | 28 20 70 74 31 20 70 74 |.: TLBR |( pt1 pt| |00002200| 32 20 2d 2d 20 74 20 6c | 20 62 20 72 20 29 0d 20 |2 -- t l| b r ). | |00002210| 20 20 20 32 64 75 70 20 | 72 69 67 68 74 20 3e 72 | 2dup |right >r| |00002220| 20 20 32 64 75 70 20 62 | 6f 74 20 3e 72 20 20 32 | 2dup b|ot >r 2| |00002230| 64 75 70 20 6c 65 66 74 | 20 3e 72 20 20 74 6f 70 |dup left| >r top| |00002240| 20 20 72 3e 20 72 3e 20 | 72 3e 20 3b 0d 3a 20 4f | r> r> |r> ;.: O| |00002250| 46 52 41 4d 45 20 28 20 | 72 65 63 74 20 2d 2d 20 |FRAME ( |rect -- | |00002260| 29 20 61 3e 72 20 2c 24 | 20 41 38 42 37 20 3b 20 |) a>r ,$| A8B7 ; | |00002270| 20 28 20 5f 46 72 61 6d | 65 4f 76 61 6c 20 29 0d | ( _Fram|eOval ).| |00002280| 3a 20 52 50 41 49 4e 54 | 20 28 20 72 65 63 74 20 |: RPAINT| ( rect | |00002290| 2d 2d 20 29 20 61 3e 72 | 20 2c 24 20 41 38 41 32 |-- ) a>r| ,$ A8A2| |000022a0| 20 3b 20 20 28 20 5f 50 | 61 69 6e 74 52 65 63 74 | ; ( _P|aintRect| |000022b0| 20 29 0d 0d 72 65 63 74 | 20 41 52 45 43 54 20 20 | )..rect| ARECT | |000022c0| 28 20 61 20 72 65 63 74 | 20 74 6f 20 62 65 20 64 |( a rect| to be d| |000022d0| 72 61 77 6e 20 29 0d 76 | 61 72 69 61 62 6c 65 20 |rawn ).v|ariable | |000022e0| 52 44 4d 4f 44 45 20 20 | 27 20 72 66 72 61 6d 65 |RDMODE |' rframe| |000022f0| 20 72 64 6d 6f 64 65 20 | 21 20 20 28 20 72 65 63 | rdmode |! ( rec| |00002300| 74 20 64 72 61 77 20 6d | 6f 64 65 20 29 0d 3a 20 |t draw m|ode ).: | |00002310| 41 44 52 41 57 20 28 20 | 2d 2d 20 29 20 61 72 65 |ADRAW ( |-- ) are| |00002320| 63 74 20 72 64 6d 6f 64 | 65 20 40 20 65 78 65 63 |ct rdmod|e @ exec| |00002330| 75 74 65 20 3b 20 20 28 | 20 64 72 61 77 20 61 72 |ute ; (| draw ar| |00002340| 65 63 74 20 29 0d 0d 3a | 20 52 44 52 41 57 20 28 |ect )..:| RDRAW (| |00002350| 20 2d 2d 20 29 20 28 20 | 74 72 61 63 6b 20 74 68 | -- ) ( |track th| |00002360| 65 20 6d 6f 75 73 65 20 | 77 69 74 68 20 61 20 72 |e mouse |with a r| |00002370| 65 63 74 20 29 0d 20 20 | 20 20 2c 24 20 41 38 35 |ect ). | ,$ A85| |00002380| 32 20 20 28 20 5f 48 69 | 64 65 43 75 72 73 6f 72 |2 ( _Hi|deCursor| |00002390| 20 29 0d 20 20 20 20 31 | 30 20 70 6d 6f 64 65 20 | ). 1|0 pmode | |000023a0| 20 28 20 70 61 74 58 4f | 52 20 29 0d 20 20 20 20 | ( patXO|R ). | |000023b0| 40 6d 6f 75 73 65 20 32 | 64 75 70 20 32 64 75 70 |@mouse 2|dup 2dup| |000023c0| 20 32 64 75 70 20 32 64 | 75 70 20 20 28 20 67 65 | 2dup 2d|up ( ge| |000023d0| 74 20 6d 6f 75 73 65 20 | 70 6f 73 69 74 69 6f 6e |t mouse |position| |000023e0| 20 29 0d 20 20 20 20 6c | 6f 6c 64 20 32 21 20 20 | ). l|old 2! | |000023f0| 6c 64 65 73 74 20 32 21 | 20 20 6c 73 74 61 72 74 |ldest 2!| lstart| |00002400| 20 32 21 20 20 28 20 73 | 65 74 20 61 6c 6c 20 76 | 2! ( s|et all v| |00002410| 61 72 69 61 62 6c 65 73 | 20 29 0d 20 20 20 20 61 |ariables| ). a| |00002420| 72 65 63 74 20 32 21 20 | 20 61 72 65 63 74 20 34 |rect 2! | arect 4| |00002430| 20 2b 20 32 21 20 20 28 | 20 73 65 74 20 61 72 65 | + 2! (| set are| |00002440| 63 74 20 29 0d 20 20 20 | 20 64 72 65 63 74 20 72 |ct ). | drect r| |00002450| 63 6c 69 70 0d 20 20 20 | 20 42 45 47 49 4e 0d 20 |clip. | BEGIN. | |00002460| 20 20 20 20 20 40 6d 6f | 75 73 65 20 20 6c 64 65 | @mo|use lde| |00002470| 73 74 20 32 21 20 20 28 | 20 73 65 74 20 64 65 73 |st 2! (| set des| |00002480| 74 20 74 6f 20 6d 6f 75 | 73 65 20 70 6f 73 69 74 |t to mou|se posit| |00002490| 69 6f 6e 20 29 0d 20 20 | 20 20 20 20 6c 64 65 73 |ion ). | ldes| |000024a0| 74 20 32 40 20 20 6c 6f | 6c 64 20 32 40 20 20 64 |t 2@ lo|ld 2@ d| |000024b0| ad 20 49 46 20 20 28 20 | 69 66 20 6d 6f 75 73 65 |. IF ( |if mouse| |000024c0| 20 69 73 20 6d 6f 76 65 | 64 20 29 0d 20 20 20 20 | is move|d ). | |000024d0| 20 20 20 20 6c 73 74 61 | 72 74 20 6c 64 65 73 74 | lsta|rt ldest| |000024e0| 20 74 6c 62 72 20 61 72 | 65 63 74 20 21 72 65 63 | tlbr ar|ect !rec| |000024f0| 74 20 20 61 64 72 61 77 | 20 20 28 20 64 72 61 77 |t adraw| ( draw| |00002500| 20 63 75 72 72 65 6e 74 | 20 72 65 63 74 20 29 0d | current| rect ).| |00002510| 20 20 20 20 20 20 20 20 | 6c 73 74 61 72 74 20 6c | |lstart l| |00002520| 6f 6c 64 20 74 6c 62 72 | 20 61 72 65 63 74 20 21 |old tlbr| arect !| |00002530| 72 65 63 74 20 20 61 64 | 72 61 77 20 20 28 20 75 |rect ad|raw ( u| |00002540| 6e 64 72 61 77 20 6f 6c | 64 20 72 65 63 74 20 29 |ndraw ol|d rect )| |00002550| 0d 20 20 20 20 20 20 54 | 48 45 4e 20 20 6c 64 65 |. T|HEN lde| |00002560| 73 74 20 32 40 20 20 6c | 6f 6c 64 20 32 21 20 20 |st 2@ l|old 2! | |00002570| 28 20 73 65 74 20 6f 6c | 64 20 70 6f 69 6e 74 20 |( set ol|d point | |00002580| 74 6f 20 64 65 73 74 20 | 70 6f 69 6e 74 20 29 0d |to dest |point ).| |00002590| 20 20 20 20 3f 72 65 6c | 65 61 73 65 64 20 55 4e | ?rel|eased UN| |000025a0| 54 49 4c 20 20 28 20 72 | 65 70 65 61 74 20 69 66 |TIL ( r|epeat if| |000025b0| 20 62 75 74 74 6f 6e 20 | 69 73 20 64 6f 77 6e 20 | button |is down | |000025c0| 29 0d 20 20 20 20 38 20 | 70 6d 6f 64 65 20 20 28 |). 8 |pmode (| |000025d0| 20 70 61 74 43 4f 50 59 | 20 29 0d 20 20 20 20 6c | patCOPY| ). l| |000025e0| 73 74 61 72 74 20 6c 64 | 65 73 74 20 74 6c 62 72 |start ld|est tlbr| |000025f0| 20 61 72 65 63 74 20 21 | 72 65 63 74 20 20 61 64 | arect !|rect ad| |00002600| 72 61 77 20 20 28 20 64 | 72 61 77 20 66 69 6e 61 |raw ( d|raw fina| |00002610| 6c 20 72 65 63 74 20 29 | 0d 20 20 20 20 34 20 2b |l rect )|. 4 +| |00002620| 6d 64 20 72 63 6c 69 70 | 20 20 28 20 72 65 73 74 |md rclip| ( rest| |00002630| 6f 72 65 20 66 75 6c 6c | 20 63 6c 69 70 20 72 65 |ore full| clip re| |00002640| 63 74 20 29 0d 20 20 20 | 20 2c 24 20 41 38 35 33 |ct ). | ,$ A853| |00002650| 20 20 73 73 61 76 65 20 | 3b 20 20 28 20 5f 53 68 | ssave |; ( _Sh| |00002660| 6f 77 43 75 72 73 6f 72 | 20 29 0d 0d 28 20 2a 2a |owCursor| )..( **| |00002670| 2a 20 65 72 61 73 65 20 | 6d 6f 64 65 20 29 0d 3a |* erase |mode ).:| |00002680| 20 21 45 52 45 43 54 20 | 28 20 68 20 76 20 2d 2d | !ERECT |( h v --| |00002690| 20 29 20 32 64 75 70 20 | 61 72 65 63 74 20 32 21 | ) 2dup |arect 2!| |000026a0| 20 20 38 20 38 20 64 2b | 20 61 72 65 63 74 20 34 | 8 8 d+| arect 4| |000026b0| 20 2b 20 32 21 20 3b 0d | 3a 20 45 52 41 53 45 20 | + 2! ;.|: ERASE | |000026c0| 28 20 2d 2d 20 29 20 2c | 24 20 41 38 35 32 20 20 |( -- ) ,|$ A852 | |000026d0| 28 20 5f 48 69 64 65 43 | 75 72 73 6f 72 20 29 0d |( _HideC|ursor ).| |000026e0| 20 20 20 20 40 6d 6f 75 | 73 65 20 32 64 75 70 20 | @mou|se 2dup | |000026f0| 6c 6f 6c 64 20 32 21 20 | 20 6c 73 74 61 72 74 20 |lold 2! | lstart | |00002700| 32 21 0d 20 20 20 20 64 | 72 65 63 74 20 72 63 6c |2!. d|rect rcl| |00002710| 69 70 20 20 28 20 63 6f | 6e 73 74 72 61 69 6e 20 |ip ( co|nstrain | |00002720| 74 6f 20 73 6d 61 6c 6c | 65 72 20 63 6c 69 70 72 |to small|er clipr| |00002730| 65 63 74 20 29 0d 20 20 | 20 20 6c 73 74 61 72 74 |ect ). | lstart| |00002740| 20 20 32 40 20 21 65 72 | 65 63 74 20 20 61 72 65 | 2@ !er|ect are| |00002750| 63 74 20 72 65 72 61 73 | 65 20 20 61 72 65 63 74 |ct reras|e arect| |00002760| 20 72 66 72 61 6d 65 0d | 20 20 20 20 42 45 47 49 | rframe.| BEGI| |00002770| 4e 0d 20 20 20 20 20 20 | 40 6d 6f 75 73 65 20 6c |N. |@mouse l| |00002780| 73 74 61 72 74 20 32 21 | 0d 20 20 20 20 20 20 6c |start 2!|. l| |00002790| 73 74 61 72 74 20 32 40 | 20 20 6c 6f 6c 64 20 32 |start 2@| lold 2| |000027a0| 40 20 64 ad 20 49 46 0d | 20 20 20 20 20 20 20 20 |@ d. IF.| | |000027b0| 6c 6f 6c 64 20 32 40 20 | 21 65 72 65 63 74 20 20 |lold 2@ |!erect | |000027c0| 61 72 65 63 74 20 72 65 | 72 61 73 65 0d 20 20 20 |arect re|rase. | |000027d0| 20 20 20 20 20 6c 73 74 | 61 72 74 20 32 40 20 21 | lst|art 2@ !| |000027e0| 65 72 65 63 74 20 20 61 | 72 65 63 74 20 72 65 72 |erect a|rect rer| |000027f0| 61 73 65 20 20 61 72 65 | 63 74 20 72 66 72 61 6d |ase are|ct rfram| |00002800| 65 0d 20 20 20 20 20 20 | 20 20 6c 73 74 61 72 74 |e. | lstart| |00002810| 20 32 40 20 6c 6f 6c 64 | 20 32 21 20 54 48 45 4e | 2@ lold| 2! THEN| |00002820| 0d 20 20 20 20 3f 72 65 | 6c 65 61 73 65 64 20 55 |. ?re|leased U| |00002830| 4e 54 49 4c 0d 20 20 20 | 20 6c 73 74 61 72 74 20 |NTIL. | lstart | |00002840| 32 40 20 21 65 72 65 63 | 74 20 20 61 72 65 63 74 |2@ !erec|t arect| |00002850| 20 72 65 72 61 73 65 0d | 20 20 20 20 34 20 2b 6d | rerase.| 4 +m| |00002860| 64 20 72 63 6c 69 70 20 | 20 28 20 72 65 73 74 6f |d rclip | ( resto| |00002870| 72 65 20 66 75 6c 6c 20 | 63 6c 69 70 20 72 65 63 |re full |clip rec| |00002880| 74 20 29 0d 20 20 20 20 | 2c 24 20 41 38 35 33 20 |t ). |,$ A853 | |00002890| 64 67 69 20 20 73 73 61 | 76 65 20 3b 20 20 28 20 |dgi ssa|ve ; ( | |000028a0| 5f 53 68 6f 77 43 75 72 | 73 6f 72 20 29 0d 0d 28 |_ShowCur|sor )..(| |000028b0| 20 68 61 6e 64 6c 65 72 | 73 20 66 6f 72 20 74 68 | handler|s for th| |000028c0| 65 20 70 61 6c 65 74 74 | 65 20 29 0d 3a 20 2b 52 |e palett|e ).: +R| |000028d0| 44 52 41 57 20 20 5b 20 | 27 20 72 64 72 61 77 20 |DRAW [ |' rdraw | |000028e0| 6c 69 74 65 72 61 6c 20 | 5d 20 64 6d 6f 64 65 20 |literal |] dmode | |000028f0| 21 20 3b 0d 3a 20 2b 44 | 52 41 57 20 20 5b 20 27 |! ;.: +D|RAW [ '| |00002900| 20 64 72 61 77 20 6c 69 | 74 65 72 61 6c 20 5d 20 | draw li|teral ] | |00002910| 64 6d 6f 64 65 20 21 20 | 3b 0d 3a 20 2b 4c 49 4e |dmode ! |;.: +LIN| |00002920| 45 20 20 5b 20 27 20 6c | 69 6e 65 20 6c 69 74 65 |E [ ' l|ine lite| |00002930| 72 61 6c 20 5d 20 64 6d | 6f 64 65 20 21 20 3b 0d |ral ] dm|ode ! ;.| |00002940| 3a 20 2b 45 52 41 53 45 | 20 20 5b 20 27 20 65 72 |: +ERASE| [ ' er| |00002950| 61 73 65 20 6c 69 74 65 | 72 61 6c 20 5d 20 64 6d |ase lite|ral ] dm| |00002960| 6f 64 65 20 21 20 3b 0d | 3a 20 2b 42 4f 58 20 20 |ode ! ;.|: +BOX | |00002970| 5b 20 27 20 72 66 72 61 | 6d 65 20 6c 69 74 65 72 |[ ' rfra|me liter| |00002980| 61 6c 20 5d 20 72 64 6d | 6f 64 65 20 21 20 20 2b |al ] rdm|ode ! +| |00002990| 72 64 72 61 77 20 3b 0d | 3a 20 2b 4f 56 41 4c 20 |rdraw ;.|: +OVAL | |000029a0| 20 5b 20 27 20 6f 66 72 | 61 6d 65 20 6c 69 74 65 | [ ' ofr|ame lite| |000029b0| 72 61 6c 20 5d 20 72 64 | 6d 6f 64 65 20 21 20 2b |ral ] rd|mode ! +| |000029c0| 72 64 72 61 77 20 3b 0d | 3a 20 2b 46 42 4f 58 20 |rdraw ;.|: +FBOX | |000029d0| 20 5b 20 27 20 72 70 61 | 69 6e 74 20 6c 69 74 65 | [ ' rpa|int lite| |000029e0| 72 61 6c 20 5d 20 72 64 | 6d 6f 64 65 20 21 20 2b |ral ] rd|mode ! +| |000029f0| 72 64 72 61 77 20 3b 0d | 3a 20 43 4c 50 41 47 45 |rdraw ;.|: CLPAGE| |00002a00| 20 28 20 2d 2d 20 29 20 | 64 72 65 63 74 20 72 63 | ( -- ) |drect rc| |00002a10| 6c 69 70 20 70 61 67 65 | 20 34 20 2b 6d 64 20 72 |lip page| 4 +md r| |00002a20| 63 6c 69 70 20 64 67 69 | 20 20 73 73 61 76 65 20 |clip dgi| ssave | |00002a30| 3b 0d 0d 3a 20 48 45 4c | 4c 4f 20 70 61 67 65 20 |;..: HEL|LO page | |00002a40| 73 66 6f 6e 74 20 20 28 | 20 67 72 65 65 74 69 6e |sfont (| greetin| |00002a50| 67 20 29 0d 20 20 20 20 | 31 36 30 20 34 30 20 21 |g ). |160 40 !| |00002a60| 70 65 6e 20 2e 22 20 50 | 6f 63 6b 65 74 50 61 69 |pen ." P|ocketPai| |00002a70| 6e 74 22 0d 20 20 20 20 | 31 39 30 20 35 36 20 21 |nt". |190 56 !| |00002a80| 70 65 6e 20 2e 22 20 62 | 79 22 0d 20 20 20 20 31 |pen ." b|y". 1| |00002a90| 35 35 20 37 35 20 21 70 | 65 6e 20 2e 22 20 43 68 |55 75 !p|en ." Ch| |00002aa0| 72 69 73 20 48 65 69 6c | 6d 61 6e 22 0d 20 20 20 |ris Heil|man". | |00002ab0| 20 31 20 2d 32 32 20 21 | 70 65 6e 20 3b 0d 0d 37 | 1 -22 !|pen ;..7| |00002ac0| 20 3a 70 61 6c 61 74 65 | 20 50 41 49 4e 54 20 20 | :palate| PAINT | |00002ad0| 28 20 74 68 65 20 70 61 | 6c 61 74 65 20 64 65 66 |( the pa|late def| |00002ae0| 69 6e 69 74 69 6f 6e 20 | 29 0d 20 20 20 20 27 20 |inition |). ' | |00002af0| 2b 64 72 61 77 20 2c 20 | 20 27 20 2b 6c 69 6e 65 |+draw , | ' +line| |00002b00| 20 2c 20 20 27 20 2b 62 | 6f 78 20 2c 20 20 27 20 | , ' +b|ox , ' | |00002b10| 2b 6f 76 61 6c 20 2c 20 | 20 28 20 72 6f 75 74 69 |+oval , | ( routi| |00002b20| 6e 65 73 20 29 0d 20 20 | 20 20 27 20 2b 65 72 61 |nes ). | ' +era| |00002b30| 73 65 20 2c 20 20 27 20 | 2b 66 62 6f 78 20 2c 20 |se , ' |+fbox , | |00002b40| 20 27 20 63 6c 70 61 67 | 65 20 2c 0d 20 20 20 20 | ' clpag|e ,. | |00002b50| 2c 22 20 50 65 6e 63 69 | 6c 22 20 20 2c 22 20 4c |," Penci|l" ," L| |00002b60| 69 6e 65 22 20 20 2c 22 | 20 42 6f 78 22 20 20 2c |ine" ,"| Box" ,| |00002b70| 22 20 43 69 72 63 6c 65 | 22 20 20 28 20 6e 61 6d |" Circle|" ( nam| |00002b80| 65 73 20 29 0d 20 20 20 | 20 2c 22 20 45 72 61 73 |es ). | ," Eras| |00002b90| 65 72 22 20 20 2c 22 20 | 46 69 6c 6c 22 20 20 2c |er" ," |Fill" ,| |00002ba0| 22 20 43 6c 65 61 72 22 | 0d 30 20 30 20 3b 70 61 |" Clear"|.0 0 ;pa| |00002bb0| 6c 61 74 65 0d 0d 68 65 | 6c 6c 6f 20 21 64 72 65 |late..he|llo !dre| |00002bc0| 63 74 20 70 61 69 6e 74 | 20 64 67 69 20 73 73 61 |ct paint| dgi ssa| |00002bd0| 76 65 20 20 28 20 73 74 | 61 72 74 20 70 72 6f 67 |ve ( st|art prog| |00002be0| 72 61 6d 20 29 0d 00 00 | 00 00 00 00 00 00 00 00 |ram )...|........| |00002bf0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00002c00| 00 00 01 00 00 00 01 16 | 00 00 00 16 00 00 00 46 |........|.......F| |00002c10| 30 38 09 fa d0 6e ff f8 | 54 40 3f 00 a8 93 20 6b |08...n..|T@?... k| |00002c20| 00 86 2f 10 a8 84 4e 75 | 20 3b 50 04 4e 75 00 10 |../...Nu| ;P.Nu..| |00002c30| 05 50 61 69 6e 74 02 00 | 00 00 54 45 58 54 45 44 |.Paint..|..TEXTED| |00002c40| 49 54 00 00 00 00 00 30 | 06 39 00 00 00 60 00 00 |IT.....0|.9...`..| |00002c50| 00 00 54 45 58 54 45 44 | 49 54 00 00 00 00 00 30 |..TEXTED|IT.....0| |00002c60| 06 39 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |.9......|........| |00002c70| 00 00 9e 32 e0 42 00 00 | 2b 66 00 00 01 5c a8 db |...2.B..|+f...\..| |00002c80| a8 97 20 6e 00 10 4a 6e | 00 08 66 0a 32 28 00 04 |.. n..Jn|..f.2(..| |00002c90| 30 01 51 40 60 0c 4a 6e | 00 0a 66 32 30 10 32 00 |0.Q@`.Jn|..f20.2.| |00002ca0| 50 41 43 f8 09 ce 32 c0 | 32 e8 00 02 32 c1 32 a8 |PAC...2.|2...2.2.| |00002cb0| 00 06 42 a7 a8 d8 26 57 | 48 78 09 ce a8 df 2f 2e |..B...&W|Hx..../.| |00002cc0| 00 14 2f 0b 2f 2e 00 14 | a8 e5 2f 0b a8 d9 26 5f |.././...|../...&_| |00002cd0| 4e 5e 20 5f de fc 00 10 | 4e d0 78 10 42 67 2f 03 |N^ _....|N.x.Bg/.| |00002ce0| 2f 2b 00 76 a8 e8 4a 1f | 67 04 70 01 60 6c 42 67 |/+.v..J.|g.p.`lBg| |00002cf0| 2f 03 2f 2b 00 72 a8 e8 | 4a 1f 67 62 42 67 2f 03 |/./+.r..|J.gbBg/.| |00002d00| 00 00 00 0a 00 09 06 4d | 6f 6e 61 63 6f 00 00 00 |.......M|onaco...| |00002d10| 00 04 00 06 00 08 00 00 | 01 00 00 00 01 16 00 00 |........|........| |00002d20| 00 16 00 00 00 46 00 01 | 15 24 02 94 00 00 00 1c |.....F..|.$......| |00002d30| 00 46 00 01 45 46 4e 54 | 00 00 00 12 45 54 41 42 |.F..EFNT|....ETAB| |00002d40| 00 00 00 1e 03 eb ff ff | 00 00 00 00 00 01 ca 1c |........|........| |00002d50| 03 ec ff ff 00 00 00 0e | 00 01 ca 04 00 00 00 00 |........|........| |00002d60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00002d70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| +--------+-------------------------+-------------------------+--------+--------+